From 5f46cc62c1b541d0a086170ee0b0cf97274ab6cf Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Sat, 27 May 2006 21:48:46 +0000 Subject: [PATCH] only unref if elt->ref_count > 0, (gtk_tree_model_filter_row_deleted): 2006-05-27 Kristian Rietveld * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_remove_node): only unref if elt->ref_count > 0, (gtk_tree_model_filter_row_deleted): likewise. (Fixes #340839, reported by Yevgen Muntyan). --- ChangeLog | 7 +++++++ ChangeLog.pre-2-10 | 7 +++++++ gtk/gtktreemodelfilter.c | 4 ++-- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 50533f0d22..64a0e8aa9b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2006-05-27 Kristian Rietveld + + * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_remove_node): + only unref if elt->ref_count > 0, + (gtk_tree_model_filter_row_deleted): likewise. (Fixes #340839, + reported by Yevgen Muntyan). + 2006-05-27 Kristian Rietveld Small refactoring. (#340428, Paolo Borelli). diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 50533f0d22..64a0e8aa9b 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,10 @@ +2006-05-27 Kristian Rietveld + + * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_remove_node): + only unref if elt->ref_count > 0, + (gtk_tree_model_filter_row_deleted): likewise. (Fixes #340839, + reported by Yevgen Muntyan). + 2006-05-27 Kristian Rietveld Small refactoring. (#340428, Paolo Borelli). diff --git a/gtk/gtktreemodelfilter.c b/gtk/gtktreemodelfilter.c index 38b87c4f9a..9668efbfa2 100644 --- a/gtk/gtktreemodelfilter.c +++ b/gtk/gtktreemodelfilter.c @@ -994,7 +994,7 @@ gtk_tree_model_filter_remove_node (GtkTreeModelFilter *filter, if (parent_level || filter->priv->virtual_root) gtk_tree_model_filter_unref_node (GTK_TREE_MODEL (filter), iter); - else + else if (elt->ref_count > 0) gtk_tree_model_filter_real_unref_node (GTK_TREE_MODEL (filter), iter, FALSE); @@ -1792,7 +1792,7 @@ gtk_tree_model_filter_row_deleted (GtkTreeModel *c_model, /* release the filter model's reference on the node */ if (level->parent_level || filter->priv->virtual_root) gtk_tree_model_filter_unref_node (GTK_TREE_MODEL (filter), &iter); - else + else if (elt->ref_count > 0) gtk_tree_model_filter_real_unref_node (GTK_TREE_MODEL (data), &iter, FALSE); -- 2.30.2